#pragma once
#include "TNode.h"
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
class Contains
{
private:
	vector<TNode> _list;
	vector<pair<int, int>> _table;
	vector<pair<int,int>> _starTable;
	int _tSize;
	int _lSize;
	int _sSize;
	int createNode(string, int, int);
public:
	Contains();
	int insertContains(string, int, int, string, int, int);
	int insertContainsStar(string, int, int, string, int, int);
	int getSize();
	int getLSize();
	int getSSize();
	vector<TNode> getList();
	vector<pair<int, int>> getContains();
	vector<pair<int, int>> getContainsStar();
	vector<TNode> searchByType(string);
	vector<TNode> searchByIndex(string,int);
	vector<TNode> searchByProcline(int);
	int getIndex(TNode);
	TNode getNode(int);
	vector<TNode> getParent(int);
	vector<TNode> getChild(int);
	vector<TNode> getParentStar(int);
//	void computeContainsStar();
};

